package com.ccdt.tv.smartrecommend.utils;

import android.util.Log;

import org.json.JSONException;
import org.json.JSONObject;

import java.util.Iterator;

/**
 * Json 相关工具类
 * Created by sheng on 2018/9/8.
 */

public class JsonUtil {
    public static final String TAG = "JsonUtil";

    /**
     * 将Json串合并到模板Json串
     * @param defJson 模板Json串
     * @param json  源Json串
     * @return  合成后的新串
     */
    public static String mergeJson(String defJson, String json) {
        Log.w(TAG, "mergeJson: defJson:"+defJson.toString());
        JSONObject defObj = null;
        JSONObject intObj;
        try {
            //将两个Json串生成Json对象
            defObj = new JSONObject(defJson);
            intObj = new JSONObject(json);

            if (null != intObj) {
                //获取 源Json迭代器 遍历 源Json
                Iterator<String> sIterator = intObj.keys();
                while (sIterator.hasNext()) {
                    // 获得key
                    String key = sIterator.next();
                    // 根据key获得value, value也可以是JSONObject,JSONArray,使用对应的参数接收即可
                    //避免类型异常均已Object类型提取
                    Object value = intObj.get(key);
                    //插入到模板Json中
                    defObj.put(key, value);
                }
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }
        Log.w(TAG, "mergeJson: newJson:"+defObj.toString() );
        return defObj.toString();
    }
}
